package com.ruoyi.bmxt.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.bmxt.domain.BmStudent;
import com.ruoyi.bmxt.domain.ui.FileZipDto;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;

/**
 * 学生管理Mapper接口
 *
 * @author 魏建波
 * @date 2023-02-24
 */
public interface BmStudentMapper
{
    /**
     * 查询学生管理
     *
     * @param studentId 学生管理主键
     * @return 学生管理
     */
    public BmStudent selectBmStudentByStudentId(Long studentId);

    /**
     * 查询学生管理列表
     *
     * @param bmStudent 学生管理
     * @return 学生管理集合
     */
    public List<BmStudent> selectBmStudentList(BmStudent bmStudent);

    /**
     * 新增学生管理
     *
     * @param bmStudent 学生管理
     * @return 结果
     */
    public int insertBmStudent(BmStudent bmStudent);

    /**
     * 修改学生管理
     *
     * @param bmStudent 学生管理
     * @return 结果
     */
    public int updateBmStudent(BmStudent bmStudent);

    /**
     * 删除学生管理
     *
     * @param studentId 学生管理主键
     * @return 结果
     */
    public int deleteBmStudentByStudentId(Long studentId);

    /**
     * 批量删除学生管理
     *
     * @param studentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBmStudentByStudentIds(Long[] studentIds);

    BmStudent checkIdCardUnique(BmStudent bmStudent);

    List<Map<String,Object>> createFileByUser(Long userId);

    List<Map<String,Object>> queryStudentAndFile(FileZipDto fileZipDto);

    List<SysDept> getDeptUserList(SysUser user);

    BmStudent selectBmStudentByCardId(BmStudent bmStudent);
}
